package com.mind.customer.mapper;

import com.mind.system.domain.AjBasicGoodsitem;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (AjBasicGoodsitem)表数据库访问层
 *
 * @author makejava
 * @since 2024-10-14 17:40:43
 */
public interface AjBasicGoodsitemMapper {

    /**
     * 查询数据集合
     * 
     * @param basicGoodsitem 信息
     * @return 数据集合
     */
    public List<AjBasicGoodsitem> selectBasicGoodsitemList(AjBasicGoodsitem basicGoodsitem);

    /**
     * 通过ID查询信息
     * 
     * @param basicGoodsitemId ID
     * @return 角色对象信息
     */
    public AjBasicGoodsitem selectBasicGoodsitemById(Long basicGoodsitemId);

    /**
     * 删除信息
     * 
     * @param basicGoodsitemId ID
     * @return 结果
     */
    public int deleteBasicGoodsitemById(Long basicGoodsitemId);

    /**
     * 批量删除信息
     * 
     * @param basicGoodsitemIds 需要删除的ID
     * @return 结果
     */
    public int deleteBasicGoodsitemByIds(Long[] basicGoodsitemIds);

    /**
     * 修改信息
     * 
     * @param basicGoodsitem 信息
     * @return 结果
     */
    public int updateBasicGoodsitem(AjBasicGoodsitem basicGoodsitem);

    /**
     * 新增信息
     * 
     * @param basicGoodsitem 信息
     * @return 结果
     */
    public int insertBasicGoodsitem(AjBasicGoodsitem basicGoodsitem);
    
    /**
     * 批量新增信息
     * 
     * @param basicGoodsitemList 信息
     * @return 结果
     */
    public int insertBasicGoodsitemBatch(List<AjBasicGoodsitem> basicGoodsitemList);
    
    
    /**
     * 根据名称查
     *
     * @param name 名称
     * @return 结果
     */
    AjBasicGoodsitem selectBasicGoodsitemByName(String name);

    int countByPrecise(@Param("goodNameAbb") String goodNameAbb, @Param("goodName") String goodName, @Param("smallName") String smallName, @Param("matchType") String matchType, @Param("taxRate") String taxRate);

    List<AjBasicGoodsitem> selectByFuzzy(@Param("goodNameAbb") String goodNameAbb, @Param("goodName") String goodName,  @Param("smallName") String smallName , @Param("matchType") String matchType);
}

